package com.sky.demo.retry;

import org.springframework.core.annotation.AliasFor;

import java.lang.annotation.*;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Retry {

    @AliasFor("value")
    String title() default "";

    @AliasFor("title")
    String value() default "";

    int retryTimes() default 1;

    long executeInterval() default 0;

    Class<? extends Exception>[] retryFor() default {Exception.class};

    Class<? extends Throwable>[] noRetryFor() default {};
}
